package com.sayimo.maker.user.dao.impl;

import java.util.List;
import java.util.Map;

import org.springframework.stereotype.Repository;

import com.sayimo.framework.database.mybatis.AbstractMybatisBaseDao;
import com.sayimo.framework.exception.DaoException;
import com.sayimo.maker.user.dao.EnterpriseInfoDao;
import com.sayimo.maker.user.vo.EnterpriseInfo;

/**
 * @Copyright (C)  广东省尚一互联网有限公司
 * @Project: schoolmallapi
 * @ClassName: EnterpriseInfoDaoImpl
 * @Description: 
 * @author:	wangyang
 * @date:	日期：2016年7月4日  时间：下午3:03:36
 * @version 2.0.0
 */
@Repository(value="enterpriseInfoDao")
public class EnterpriseInfoDaoImpl extends AbstractMybatisBaseDao<EnterpriseInfo> implements EnterpriseInfoDao{
	
	/**
	 * 
	* @Title: queryCustomerStatu
	* @Author: 田超
	* @Date:日期：2017年2月15日 : 上午9:45:26
	* @Description:查询用户信息
	* @return Map
	* @Version 1.0.0
	 */
	public Map queryCustomerStatu(Integer refId)throws DaoException{
		return this.mybatisInterfaceBaseDao.queryMap("com.sayimo.maker.user.dao.EnterpriseInfoDao.queryCustomerStatu", "providerType",refId);
	}

	/**
	 * 查询营业执照/信用代码
	 */
	@Override
	public Integer queryCreditCode(String creditCode) throws DaoException {
		
		return this.mybatisInterfaceBaseDao.queryCount("com.sayimo.maker.user.dao.EnterpriseInfoDao.selectCreditCode", creditCode);
	}
	
	/**
	 * @Package com.sayimo.school.mall.module.provider.dao.impl
	 * @Author TANXIN
	 * @MethodName:getCreditCodeByCreditCode
	 * @Description:获取企业认证信息
	 * @param creditCode
	 * @return
	 * @throws DaoException
	 * @Date 2016年7月11日,下午4:14:19
	 */
	@Override
	public EnterpriseInfo getEnterpriseInfo(String providerAccout) throws DaoException {
		
		return this.mybatisInterfaceBaseDao.get("com.sayimo.maker.user.dao.EnterpriseInfoDao.getEnterpriseInfo", providerAccout);
	}

	/**
	 * 插入企业信息
	 */
	@Override
	public int insertEnterpriseInfo(EnterpriseInfo EnterpriseInfo)
			throws DaoException {
		
		return this.mybatisInterfaceBaseDao.insert("com.sayimo.maker.user.dao.EnterpriseInfoDao.insertEnterpriseInfo", EnterpriseInfo);
	}
	/**
	 * @Package com.sayimo.maker.user.dao.impl
	 * @Author 谭新
	 * @MethodName: updateEnterpriseInfo
	 * @Description:修改供应商
	 * @Date 2017年3月14日,上午9:13:02
	 */
	@Override
	public int updateEnterpriseInfo(EnterpriseInfo EnterpriseInfo)
			throws DaoException {
		
		return this.mybatisInterfaceBaseDao.update("com.sayimo.maker.user.dao.EnterpriseInfoDao.updateEnterpriseInfo", EnterpriseInfo);
	}

	/**
	 * @Package com.sayimo.school.mall.module.provider.dao.impl
	 * @Author TANXIN
	 * @MethodName:getEnterpriseStatus
	 * @Description:获取企业是否通过审核
	 * @param providerAccout
	 * @return
	 * @throws DaoException
	 * @Date 2016年8月29日,下午2:40:33
	 */
	@Override
	public EnterpriseInfo getEnterpriseStatus(String providerAccout)
			throws DaoException {
		return this.mybatisInterfaceBaseDao.get("com.sayimo.maker.user.dao.EnterpriseInfoDao.getEnterpriseStatus", providerAccout);
	}
	 /**
	 * @Package com.sayimo.maker.user.dao.impl
	 * @Author 龚益君
	 * @MethodName:getEnterpriseInfoById
	 * @Description:
	 * @param providerId
	 * @return
	 * @throws DaoException
	 * @Date 2017年2月21日,上午11:33:14
	 */
	@Override
	public List<EnterpriseInfo> getEnterpriseInfoByIds(List<Integer> providerIds) throws DaoException {
		
		return this.mybatisInterfaceBaseDao.query("com.sayimo.maker.user.dao.EnterpriseInfoDao.getEnterpriseInfoByIds", providerIds);
	}

	@Override
	public EnterpriseInfo getEnterpriseInfoByAccount(String account) throws DaoException {
		return this.mybatisInterfaceBaseDao.get("com.sayimo.maker.user.dao.EnterpriseInfoDao.queryEnterpriseInfo", account);
	}

	@Override
	public EnterpriseInfo getEnterpriseInfoByCustomerId(Integer customerId)
			throws DaoException {
		return this.mybatisInterfaceBaseDao.get("com.sayimo.maker.user.dao.EnterpriseInfoDao.getEnterpriseInfoByCustomerId", customerId);
	}

	/**
		 * @Package com.sayimo.maker.user.dao.impl
		 * @Author 谭新
		 * @MethodName: getIsProviderCode
		 * @Description:判断是否已存在该供应商编号
		 * @Date 2017年3月11日,上午11:05:11
		 */
	@Override
	public Integer getIsProviderCode(String providerCode) throws DaoException {
		return (Integer)this.mybatisInterfaceBaseDao.getObject("com.sayimo.maker.user.dao.EnterpriseInfoDao.getIsProviderCode", providerCode);
	}
}
